home *** CD-ROM | disk | FTP | other *** search
/ By Popular Request 2.0 / By Popular Request 2.0 (Arsenal Computer).ISO / amiga_6 / tiffdtyp.lha / sources / TIFF.h < prev    next >
C/C++ Source or Header  |  1995-03-26  |  4KB  |  138 lines

  1. /* Miscellaneous definitions */
  2.  
  3.     /* Compression */
  4. #define NO_COMPRESSION            1
  5. #define HUFFMAN                    2
  6. #define GROUP3                    3
  7. #define GROUP4                    4
  8. #define LZW                        5
  9. #define PACKBITS            32773
  10.  
  11.     /* NewSubfileType */
  12. #define REDUCED                (1<<0)
  13. #define MULTIPAGE            (1<<1)
  14. #define TRASPARENT_MASK        (1<<2)
  15.  
  16.     /* SubfileType */
  17. #define FULL_RESOLUTION            1
  18. #define REDUCED_RESOLUTION      2
  19. #define MULTI_PAGE                3
  20.  
  21.     /* PhotometricInterpretation */
  22. #define BILEVEL_ZERO_IS_WHITE    0
  23. #define BILEVEL_ZERO_IS_BLACK    1
  24. #define TRUE_COLOR_RGB            2
  25. #define COLOR_MAPPED_RGB        3
  26. #define TRASPARENCY_MASK        4
  27.  
  28.     /* PlanarConfiguration */
  29. #define CHUNKY                    1
  30. #define PLANAR                    2
  31.  
  32.     /* Predictor */
  33. #define NO_PREDICTOR             1
  34. #define HORIZONTAL_DIFFERENCING 2
  35.  
  36.     /* ResolutionUnit */
  37. #define NO_UNIT                    1
  38. #define INCH                    2
  39. #define CENTIMETER                3
  40.  
  41.     /* Group3Options */
  42. #define BIDIMENSIONAL        (1<<0)
  43. #define UNCOMPRESSSED        (1<<1)
  44. #define FILLBITS            (1<<2)
  45.  
  46.     /* FillOrder */
  47. #define MSB_FIRST                1
  48. #define LSB_FIRST                2
  49.  
  50.     /* Orientation */
  51. #define TOPLEFT                    1
  52. #define TOPRIGHT                2
  53. #define BOTTOMRIGHT                3
  54. #define BOTTOMLEFT                4
  55. #define    LEFTTOP                    5
  56. #define RIGHTTOP                6
  57. #define LEFTBOTTOM                7
  58. #define RIGHTBOTTOM                8
  59.  
  60.     /* Threshholding */
  61. #define LINE_ART                1
  62. #define DITHERED                2
  63. #define ERROR_DIFFUSED            3
  64.  
  65. typedef struct Rational {
  66.         unsigned long Numerator;
  67.         unsigned long Denominator;
  68.         } rational;
  69.  
  70. /* TIFF structures */
  71.  
  72. typedef struct TBF {
  73.     unsigned char   GrayResponseUnit;        /* Scale for intensity values  */
  74.     unsigned char   NewSubfileType;            /* Special flags */
  75.     unsigned char   PhotometricInterpretation;    /* Image type */
  76.     unsigned char   PlanarConfiguration;    /* Image data organization */
  77.     unsigned char    Predictor;                /* LZW predictor */
  78.     unsigned char    ResolutionUnit;            /* Unit length for XResolution and YResolution */
  79.     unsigned char    SamplesPerPixel;        /* Color components */
  80.     unsigned short  Compression;            /* Compression type */
  81.     unsigned short  BitsPerSample[8];        /* Bits per component (e.g. RGB, YCMK etc.) */
  82.     unsigned short *ColorMap;                  /* Pointer to an array of RGB values  */
  83.     unsigned short *ColorResponseCurves;    /* Pointer to an array of RGB values  */
  84.     unsigned short *GrayResponseCurve;        /* Pointer to an array of intensity values  */
  85.     unsigned long   ImageLength;            /* Image height */
  86.     unsigned long   ImageWidth;                /* Image width */
  87.     unsigned long   RowsPerStrip;            /* Strip height */
  88.     unsigned long  *StripByteCounts;        /* Bytes in a strip */
  89.     unsigned long  *StripOffsets;            /* Strips offsets from BOF */
  90.     rational        XResolution,YResolution;/* Image absolute dimension */
  91. } TIFFBasicFields;
  92.  
  93. #define    TBFSIZE    (sizeof (struct TBF))
  94.  
  95. typedef struct TIF {
  96.     char *Artist;
  97.     char *HostComputer;
  98.     char *ImageDescription;
  99.     char *Make,*Model;
  100.     char *Software;
  101.     char  DateTime[20];
  102.     } TIFFInformationFields;
  103.  
  104. #define    TIFSIZE    (sizeof (struct TIF))
  105.  
  106. typedef struct TFF {
  107.     unsigned char Group3Options;    /* flags for group 3 compression */
  108.     unsigned char Group4Options;    /* flags for group 4 compression */
  109.     } TIFFFaxFields;
  110.  
  111. #define    TFFSIZE    (sizeof (struct TFF))
  112.  
  113. typedef struct TDSRF {
  114.     char               *DocumentName;
  115.     char               *PageName;
  116.     unsigned char     Threshholding;
  117.     unsigned char     Orientation;
  118.     unsigned short      CellLength;
  119.     unsigned short      CellWidth;
  120.     unsigned short      FillOrder;
  121.     unsigned short      PageNumber[2];
  122.     unsigned short      MaxSampleValue[8];
  123.     unsigned short      MinSampleValue[8];
  124.     unsigned long     *FreeByteCounts;
  125.     unsigned long     *FreeOffsets;
  126.     rational             XPosition,YPosition;
  127.     } TIFFDocumentFields;
  128.  
  129. #define    TDRSFSIZE    (sizeof (struct TDRSF))
  130.  
  131. typedef struct TIFH {
  132.     unsigned short ByteOrder;
  133.     unsigned short Version;
  134.     unsigned long Offset;
  135.     } TIFFImageFileHeader;
  136.  
  137. #define    TIFHSIZE    (sizeof (struct TIFH))
  138.